#include "aritmetica_binaria.h"

bool acarreo(byte op1, byte op2)
{
	return signo(op1) == signo(op2) && signo(op1+op2) != signo(op1);
}

bool signo(byte op)
{
	return op >> 7;
}

bool prestamo(byte op1, byte op2)
{
	return acarreo(op1, -op2);
}

bool paridad(byte op)
{
	int cant = 0;

	for (int i = 0; i < 8; i++) {
		cant += (op >> i % 2);
	}

	return (cant % 2 == 0);
}

bool acarreoAuxiliar(byte op1, byte op2)
{
	return ((op1 & 0x0f) + (op2 & 0x0f)) & 0x10;
}

bool cero(byte op)
{
	return (op == 0);
}
